Synthesizing Functional Reactive Programs

نویسندگان

  • Bernd Finkbeiner
  • Felix Klein
  • Ruzica Piskac
  • Mark Santolucito
چکیده

We present the first method to synthesize functional reactive programs from temporal logic specifications. Existing algorithms for the synthesis of reactive systems target finite-state implementations, such as hardware circuits, but fail when it comes to complex data transformations. Reactive programs instead provide a promising alternative to overcome this obstacle. They allow for abstraction from concrete implementations of data transformations while shifting focus to the higher order control of data. In Functional Reactive Programming (FRP), this separation of control and data is even made strict, as it makes for a fundamental building block of its well defined operational semantics. In this paper we define the theoretical foundations and implement the first tool for the construction of data-intensive functional reactive programs from temporal logic specifications. We introduce Temporal Stream Logic (TSL) which allows for the specification of control, but abstracts from actual data. Given a specification in TSL, our synthesis procedure constructs an FRP program that is guaranteed to implement the specified control. We report on experience with our framework and tool implementation on a collection of both new and existing synthesis benchmarks.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Synthesizing Reactive Programs

Current theoretical solutions to the classical Church’s synthesis problem are focused on synthesizing transition systems and not programs. Programs are compact and often the true aim in many synthesis problems, while the transition systems that correspond to them are often large and not very useful as synthesized artefacts. Consequently, current practical techniques first synthesize a transitio...

متن کامل

Synthesizing Structured Reactive Programs via Deterministic Tree Automata

Existing approaches to the synthesis of reactive systems typically involve the construction of transition systems such as Mealy automata. However, in order to obtain a succinct representation of the desired system, structured programs can be a more suitable model. In 2011, Madhusudan proposed an algorithm to construct a structured reactive program for a given ω-regular specification without syn...

متن کامل

Synthesizing Executable Programs

Automatic generation of correct software from requirements has long been a “holy grail” for system and software development. According to this vision, instead of implementing a system and then working hard to apply testing and verification methods to prove system correctness, a system is rather built correctly by construction. This problem, referred to as synthesis, is undecidable in the genera...

متن کامل

Froid: Functional Reactive Android

In this paper, we present Froid (Functional Reactive Android). Froid is a proof of concept Android library that addresses the problem introduced by callbacks in GUI programming. The library allows developers to create applications using the functional reactive programming model. Specifically, programmers using Froid are able to take advantage of EventStreams and Behaviors in their programs. Eve...

متن کامل

J. Symbolic Computation (1999) 11, 1{39 A Higher-Order Interpretation of Deductive Tableau

The Deductive Tableau of Manna and Waldinger is a formal system with an associated methodology for synthesizing functional programs by existence proofs in classical rst-order theories. We reinterpret the formal system in a setting that is higher-order in two respects: higher-order logic is used to formalize a theory of functional programs and higher-order resolution is used to synthesize progra...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • CoRR

دوره abs/1712.00246  شماره 

صفحات  -

تاریخ انتشار 2017